package com.cfx.exercise_41;

import java.util.Calendar;  
  
class ShutDownTool{  
      
    /** 
     * @功能说明 ：多少s后关机 
     * @param second  在second 秒之后关机 
     * @return  是否设置成功 
     * @author shaochong 
     * @Date  2014年12月9日 下午4:14:17 
     */  
    public boolean shutDownS(int second){  
        try {  
            String cmdStr = "cmd /c shutdown -s -t "+ second ;  
            Runtime.getRuntime().exec(cmdStr);  
        }catch(Exception e){  
            e.printStackTrace();  
            }  
        return true;  
    }  
      
    /** 
     * @功能说明 ：在某个时刻关机 
     * @param 时间，格式为 hh：mm 
     * @param today==1 表示当天 
     *          today==0 表示明天 
     * @return 是否设置成功 
     * @author shaochong 
     * @Date  2014年12月9日 下午4:17:27 
     */  
    public boolean shutDownAt(String time, int today){  
        Calendar c = Calendar.getInstance();//可以对每个时间域单独修改  
        int hour = c.get(Calendar.HOUR_OF_DAY);   
        int minute = c.get(Calendar.MINUTE);   
          
        int hh = Integer.parseInt(time.substring(0,2));  
        int mm= Integer.parseInt(time.substring(3,5));  
        int k=0;  
        if(today==1){  
            k = 60*(hh-hour)+(mm-minute);  
        }  
        if(today==0){  
            k = 60*(24-hour)-minute;  
            k += hh*60 + mm;  
        }  
//      System.out.println(k+" 分钟后关机");  
        this.shutDownS(k*60);  
          
          
        return true;  
    }  
    /** 
     * @功能说明 ：取消定时关机计划 
     * @return 是否成功取消 
     * @author shaochong 
     * @Date  2014年12月9日 下午4:16:25 
     */  
    public boolean shutDownCancel(){  
        try {  
            String cmdStr = "cmd /c shutdown -a" ;  
            Runtime.getRuntime().exec(cmdStr);  
        }catch(Exception e){  
            e.printStackTrace();  
            }  
        return true;  
    }  
}  
